Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt.geom
Class RectangularShape

    java.lang.Object
      |
      +--java.awt.geom.RectangularShape

All Implemented Interfaces:
  Cloneable, Shape

Direct Known Subclasses:
  Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D

public abstract class RectangularShape
extends Object
implements Shape, Cloneable

`RectangularShape` is the base class for a number of `Shape` objects whose geometry is defined by a rectangular frame. This class does not directly specify any specific geometry by itself, but merely provides manipulation methods inherited by a whole category of `Shape` objects. The manipulation methods provided by this class can be used to query and modify the rectangular frame, which provides a reference for the subclasses to define their geometry.

Constructor Summary
`protected` | `RectangularShape()` This is an abstract class that cannot be instantiated directly.

Method Summary
`Object` | `clone()` Creates a new object of the same class and with the same contents as this object.
`boolean` | `contains(Point2D p)` Tests if a specified `Point2D` is inside the boundary of the `Shape`.
`boolean` | `contains(Rectangle2D r)` Tests if the interior of the `Shape` entirely contains the specified `Rectangle2D`.
`Rectangle` | `getBounds()` Returns the bounding box of the `Shape`.
`double` | `getCenterX()` Returns the X coordinate of the center of the framing rectangle of the `Shape` in `double` precision.
`double` | `getCenterY()` Returns the Y coordinate of the center of the framing rectangle of the `Shape` in `double` precision.
`Rectangle2D` | `getFrame()` Returns the framing `Rectangle2D` that defines the overall shape of this object.
`abstract double` | `getHeight()` Returns the height of the framing rectangle in `double` precision.
`double` | `getMaxX()` Returns the largest X coordinate of the framing rectangle of the `Shape` in `double` precision.
`double` | `getMaxY()` Returns the largest Y coordinate of the framing rectangle of the `Shape` in `double` precision.
`double` | `getMinX()` Returns the smallest X coordinate of the framing rectangle of the `Shape` in `double` precision.
`double` | `getMinY()` Returns the smallest Y coordinate of the framing rectangle of the `Shape` in `double` precision.
`PathIterator` | `getPathIterator(AffineTransform at, double flatness)` Returns an iterator object that iterates along the `Shape` object's boundary and provides access to a flattened view of the outline of the `Shape` object's geometry.
`abstract double` | `getWidth()` Returns the width of the framing rectangle in `double` precision.
`abstract double` | `getX()` Returns the X coordinate of the upper left corner of the framing rectangle in `double` precision.
`abstract double` | `getY()` Returns the Y coordinate of the upper left corner of the framing rectangle in `double` precision.
`boolean` | `intersects(Rectangle2D r)` Tests if the interior of the`Shape` intersects the interior of a specified `Rectangle2D`.
`abstract boolean` | `isEmpty()` Determines whether the `RectangularShape` is empty.
`abstract void` | `setFrame(double x, double y, double w, double h)` Sets the location and size of the framing rectangle of this `Shape` to the specified rectangular values.
`void` | `setFrame(Point2D loc, Dimension2D size)` Sets the location and size of the framing rectangle of this `Shape` to the specified `Point2D` and `Dimension2D`, respectively.
`void` | `setFrame(Rectangle2D r)` Sets the framing rectangle of this `Shape` to be the specified `Rectangle2D`.
`void` | `setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)` Sets the framing rectangle of this `Shape` based on the specified center point coordinates and corner point coordinates.
`void` | `setFrameFromCenter(Point2D center, Point2D corner)` Sets the framing rectangle of this `Shape` based on a specified center `Point2D` and corner `Point2D`.
`void` | `setFrameFromDiagonal(double x1, double y1, double x2, double y2)` Sets the diagonal of the framing rectangle of this `Shape` based on the two specified coordinates.
`void` | `setFrameFromDiagonal(Point2D p1, Point2D p2)` Sets the diagonal of the framing rectangle of this `Shape` based on two specified `Point2D` objects.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface java.awt.Shape
`contains, contains, getBounds2D, getPathIterator, intersects`

Constructor Detail

### RectangularShape

    protected RectangularShape()

  This is an abstract class that cannot be instantiated directly.

See Also:
  `Arc2D`, `Ellipse2D`, `Rectangle2D`, `RoundRectangle2D`

Method Detail

### getX

    public abstract double getX()

  Returns the X coordinate of the upper left corner of the framing rectangle in `double` precision.

  Returns:
    the x coordinate of the upper left corner of the framing rectangle.

### getY

    public abstract double getY()

  Returns the Y coordinate of the upper left corner of the framing rectangle in `double` precision.

  Returns:
    the y coordinate of the upper left corner of the framing rectangle.

### getWidth

    public abstract double getWidth()

  Returns the width of the framing rectangle in `double` precision.

  Returns:
    the width of the framing rectangle.

### getHeight

    public abstract double getHeight()

  Returns the height of the framing rectangle in `double` precision.

  Returns:
    the height of the framing rectangle.

### getMinX

    public double getMinX()

  Returns the smallest X coordinate of the framing rectangle of the `Shape` in `double` precision.

  Returns:
    the smallest x coordinate of the framing rectangle of the `Shape`.

### getMinY

    public double getMinY()

  Returns the smallest Y coordinate of the framing rectangle of the `Shape` in `double` precision.

  Returns:
    the smallest y coordinate of the framing rectangle of the `Shape`.

### getMaxX

    public double getMaxX()

  Returns the largest X coordinate of the framing rectangle of the `Shape` in `double` precision.

  Returns:
    the largest x coordinate of the framing rectangle of the `Shape`.

### getMaxY

    public double getMaxY()

  Returns the largest Y coordinate of the framing rectangle of the `Shape` in `double` precision.

  Returns:
    the largest y coordinate of the framing rectangle of the `Shape`.

### getCenterX

    public double getCenterX()

  Returns the X coordinate of the center of the framing rectangle of the `Shape` in `double` precision.

  Returns:
    the x coordinate of the framing rectangle of the `Shape` object's center.

### getCenterY

    public double getCenterY()

  Returns the Y coordinate of the center of the framing rectangle of the `Shape` in `double` precision.

  Returns:
    the y coordinate of the framing rectangle of the `Shape` object's center.

### getFrame

    public Rectangle2D getFrame()

  Returns the framing `Rectangle2D` that defines the overall shape of this object.

  Returns:
    a `Rectangle2D`, specified in `double` coordinates.
  See Also:
    `setFrame(double, double, double, double)`, `setFrame(Point2D, Dimension2D)`, `setFrame(Rectangle2D)`

### isEmpty

    public abstract boolean isEmpty()

  Determines whether the `RectangularShape` is empty. When the `RectangularShape` is empty, it encloses no area.

  Returns:
    `true` if the `RectangularShape` is empty; `false` otherwise.

### setFrame

    public abstract void setFrame(double x,
                                  double y,
                                  double w,
                                  double h)

  Sets the location and size of the framing rectangle of this `Shape` to the specified rectangular values. The framing rectangle is used by the subclasses of `RectangularShape` to define their geometry.

  Parameters:
    `w` - the width of the specified rectangular shape
    `h` - the height of the specified rectangular shape
  See Also:
    `getFrame()`

### setFrame

    public void setFrame(Point2D loc,
                         Dimension2D size)

  Sets the location and size of the framing rectangle of this `Shape` to the specified `Point2D` and `Dimension2D`, respectively. The framing rectangle is used by the subclasses of `RectangularShape` to define their geometry.

  Parameters:
    `loc` - the specified `Point2D`
    `size` - the specified `Dimension2D`
  See Also:
    `getFrame()`

### setFrame

    public void setFrame(Rectangle2D r)

  Sets the framing rectangle of this `Shape` to be the specified `Rectangle2D`. The framing rectangle is used by the subclasses of `RectangularShape` to define their geometry.

  Parameters:
    `r` - the specified `Rectangle2D`
  See Also:
    `getFrame()`

### setFrameFromDiagonal

    public void setFrameFromDiagonal(double x1,
                                     double y1,
                                     double x2,
                                     double y2)

  Sets the diagonal of the framing rectangle of this `Shape` based on the two specified coordinates. The framing rectangle is used by the subclasses of `RectangularShape` to define their geometry.

### setFrameFromDiagonal

    public void setFrameFromDiagonal(Point2D p1,
                                     Point2D p2)

  Sets the diagonal of the framing rectangle of this `Shape` based on two specified `Point2D` objects. The framing rectangle is used by the subclasses of `RectangularShape` to define their geometry.

### setFrameFromCenter

    public void setFrameFromCenter(double centerX,
                                   double centerY,
                                   double cornerX,
                                   double cornerY)

  Sets the framing rectangle of this `Shape` based on the specified center point coordinates and corner point coordinates. The framing rectangle is used by the subclasses of `RectangularShape` to define their geometry.

### setFrameFromCenter

    public void setFrameFromCenter(Point2D center,
                                   Point2D corner)

  Sets the framing rectangle of this `Shape` based on a specified center `Point2D` and corner `Point2D`. The framing rectangle is used by the subclasses of `RectangularShape` to define their geometry.

  Parameters:
    `center` - the specified center `Point2D`
    `corner` - the specified corner `Point2D`

### contains

    public boolean contains(Point2D p)

  Tests if a specified `Point2D` is inside the boundary of the `Shape`.

  Specified by:
    `contains` in interface `Shape`
  Parameters:
    `p` - the specified `Point2D`
  Returns:
    `true` if the `Point2D` is inside the `Shape` object's boundary; `false` otherwise.

### intersects

    public boolean intersects(Rectangle2D r)

  Tests if the interior of the`Shape` intersects the interior of a specified `Rectangle2D`.

  Specified by:
    `intersects` in interface `Shape`
  Parameters:
    `r` - the specified `Rectangle2D`
  Returns:
    `true` if the `Shape` and the specified `Rectangle2D` intersect each other; `false` otherwise.
  See Also:
    `Shape.intersects(double, double, double, double)`

### contains

    public boolean contains(Rectangle2D r)

  Tests if the interior of the `Shape` entirely contains the specified `Rectangle2D`.

  Specified by:
    `contains` in interface `Shape`
  Parameters:
    `r` - the specified `Rectangle2D`
  Returns:
    `true` if the `Shape` entirely contains the specified `Rectangle2D`; `false` otherwise.
  See Also:
    `Shape.contains(double, double, double, double)`

### getBounds

    public Rectangle getBounds()

  Returns the bounding box of the `Shape`.

  Specified by:
    `getBounds` in interface `Shape`
  Returns:
    a `Rectangle` object that bounds the `Shape`.
  See Also:
    `Shape.getBounds2D()`

### getPathIterator

    public PathIterator getPathIterator(AffineTransform at,
                                        double flatness)

  Returns an iterator object that iterates along the `Shape` object's boundary and provides access to a flattened view of the outline of the `Shape` object's geometry.

  Only SEG_MOVETO, SEG_LINETO, and SEG_CLOSE point types will be returned by the iterator.

  The amount of subdivision of the curved segments is controlled by the `flatness` parameter, which specifies the maximum distance that any point on the unflattened transformed curve can deviate from the returned flattened path segments. An optional `AffineTransform` can be specified so that the coordinates returned in the iteration are transformed accordingly.

  Specified by:
    `getPathIterator` in interface `Shape`
  Parameters:
    `at` - an optional `AffineTransform` to be applied to the coordinates as they are returned in the iteration, or `null` if untransformed coordinates are desired.
    `flatness` - the maximum distance that the line segments used to approximate the curved segments are allowed to deviate from any point on the original curve
  Returns:
    a `PathIterator` object that provides access to the `Shape` object's flattened geometry.

### clone

    public Object clone()

  Creates a new object of the same class and with the same contents as this object.

  Overrides:
    `clone` in class `Object`
  Returns:
    a clone of this instance.
  Throws:
    `OutOfMemoryError` - if there is not enough memory.
  Since:
    1.2
See Also:
  `Cloneable`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.